Computing devices such as smartphones, laptops, and tablet computers are becoming increasingly popular. Periodic updating of software (e.g., firmware updates) for a computing device has become commonplace. Typically, when a user wants to update his/her software, firmware, and/or operating system, the user is prevented from operating the device, but instead, the device focuses only on completing the update. In other words, conventional approaches typically prevent the user from using his/her device when software is being (downloaded and/or) installed. For example, during (the download and/or) the installation of the software, the user cannot use his/her device to surf the Web, check email, send text messages, or purchase goods. Various computing tasks are paused and/or terminated so that the computing device can focus on (downloading and/or) processing and/or installing the downloaded software. Further, the process for undoing an update is often complicated, and in some cases an update cannot be undone without completely reinstalling the previous version and manually making any other necessary changes.